草庐IT

java - 为类类型创建 Java Proxy 实例?

全部标签

ruby - 有没有办法在 Ruby 中执行编译时类型检查?

我知道Ruby是动态和强类型的,但据我所知,由于每个参数缺少显式类型表示法(或契约),当前语法不允许在编译时检查参数类型。如果我想执行编译时类型检查,我有哪些(实际成熟的)选项?更新我的意思是类型检查类似于典型的静态类型语言。比如C。例如,C函数表示每个参数的类型,编译器检查传入的参数是否正确。voidfunc1(structAAAaaa){structBBBbbb;func1(bbb);//Wrongtype.Compiletimeerror.}作为另一个例子,Objective-C通过放置显式类型信息来做到这一点。-(id)method1:(AAA*)aaa{BBB*bbb=[[A

ruby - Class 怎么可能属于 Class 类而没有 Class 实例方法呢?

我正在研究Ruby解释器是如何实现的,并且出现了一个问题,但我还没有得到答案。这就是标题中的那个:因为Class(r_cClass)将super设置为自身(忽略元类,因为实际上super是r_cClass的元类),如果我向Class对象发送一个方法,这将在Class的方法表中查找'类(class)。但是Class的类是Class,所以我不应该最终寻找Class的实例方法吗?但事实并非如此,因为在文档中Class类方法和Class实例方法是分开的。在Ruby的eval.c中的search_method中,我没有发现对Class类有什么特别的检查。任何人都可以阐明这一点吗?

ruby-on-rails - 类型错误 : wrong argument type String (expected Module)

我有以下代码:classProfileLookup基本上包含大量查找数据,按类别拆分。目的是为数据库中的每个类别创建一个方法。通过Rails控制台,此代码按预期工作:ruby-1.9.3@hub:002>ProfileLookup.available_gendersProfileLookupLoad(0.6ms)SELECT"profile_lookups".*FROM"profile_lookups"WHERE"profile_lookups"."category"='gender'ORDERBYvalue=>["Female","Male"]但是,我的规范不合格。以下规范:requ

ruby - 如何以编程方式使用 Rugged 创建提交?

我正在尝试使用Rugged以编程方式创建对现有存储库的提交(libgit2的Ruby绑定(bind))。我已尝试遵循RuggedREADME中提供的文档,但我认为它与代码库的当前状态不太匹配。当我尝试运行以下代码时,我不断收到错误消息:require'rugged'#Createaninstanceoftheexistingrepositoryrepo=Rugged::Repository.new('/full/path/to/repo')#grabthecurrentTimeobjectfornowcurr_time=Time.now#writeanewblobtothereposi

ruby-on-rails - RubyMine 将刚刚创建的工作项目的某些行突出显示为错误

我是RubyonRails的新手,因为我来自Java世界并在IntelliJIdea工作,所以我开始使用RubyMine进行RoR开发。我已经生成了新项目并在RubyMine中打开了它。一切都编译并工作正常,但RubyMine将某些行突出显示为错误(但实际上没有错误)。例如application_controller.rb中的代码protect_from_forgerywith::exception'with'后的分号突出显示为错误,后面说'Expected:;或行尾'类似的错误高亮在项目中很多地方我想可能是不同的Ruby和Rails版本存在一些问题?或者RubyMine不支持某种新语

ruby-on-rails - 如何使用 Ruby on Rails 创建一个新的 ActiveRecord 连接池?

我有一个RoR应用程序,它与RoR主数据库配合得很好。我还想以某种方式连接到任意数据库,这样我就不会为每个新的HTTP请求重新创建数据库连接。根据我的研究,连接池似乎是可行的方法。但是,我无法弄清楚如何自己创建池:config=ActiveRecord::ConnectionAdapters::ConnectionSpecification.new({"adapter"=>"postgresql","host"=>"localhost","port"=>9000,"database"=>"foo_test","username"=>"foo","password"=>"bar","po

ruby - Ruby 中有常量实例变量这样的东西吗?

我的googlefu很烂,找不到这方面的信息。基本上我想要一个实例变量,它只在类/模块的范围内可见,但也是不可变的。我是Ruby的新手,如果这个问题没有多大意义,我深表歉意。 最佳答案 classMyClassdefinitializeclass自然地,您会希望尽可能使用方法foo来读取值。一个更简单的等价物是classMyClassdefinitializedeffoo;1;endendend 关于ruby-Ruby中有常量实例变量这样的东西吗?,我们在StackOverflow上找到

ruby - 如何从 Ruby 中的实例方法访问 protected 类方法?

我一定遗漏了一些关于人们如何在Ruby中执行此操作的信息。如果“#protected”未被注释,我们得到:在“什么”中:为Foo:Class(NoMethodError)调用了protected方法“zoop”是否有更好的方法来处理protected类方法?classFooclass"itis'zoop'"我希望zoop受到保护或私有(private)(不调用“Foo.zoop”),但到目前为止,我似乎找不到一种优雅的方式。 最佳答案 在Ruby中将方法设为私有(private)或protected几乎无关紧要,因为您只需调用sen

ruby-on-rails - 如何访问ruby中的类方法和实例方法?

通过搜索一些博客和文章,我发现Ruby中的每个类本身都是Class的一个实例。类方法和实例方法有什么区别,Ruby是否允许创建对象的对象?我试着做这样的事情,但仍然无法理解str=Class.new(String)=>#my_str=str.new()=>""my_str=str.new("hello")=>"hello"my_str.class=>#str.class=>Class现在完全糊涂了所以告诉我这个 最佳答案 在第一句话中,您使用String的父类(superclass)创建匿名类:my_str.class.superc

ruby - 错误的参数类型字符串(应为数组)

我正在尝试使用Octopress(Jekyll之上的博客引擎)在我的新Macbook上,当我运行bundleexecjekyll--server时出现此错误:(缩短路径)/path/to/markdown.rb:118:in`to_html':wrongargumenttypeString(expectedArray)(TypeError)from/path/to/markdown.rb:118:in`convert'...(完整路径)/usr/local/rvm/gems/ruby-1.9.2-p290/gems/jekyll-0.11.0/lib/jekyll/converters